BanniΦre dΘcorative

Render and Mail (rendu et message électronique)


    Ce script effectue le rendu de tous les éléments en file d'attente dans un projet ouvert et envoie un rapport par courrier électronique signalant le moment où le rendu a été terminé. Il utilise deux autres scripts, à savoir : email_methods.jsx (pour envoyer le courrier électronique correctement) et email_setup.jsx (qui établit l'expéditeur, le destinataire et le serveur de messagerie).

    Les conditions d'exécution du script doivent tout d'abord être vérifiées. Un projet ouvert contenant au moins un élément en file d'attente est requis.

    {
        var safeToRunScript = true;
       
        safeToRunScript = app.project != null;
        if (! app.project) {
            alert ("Pour exécuter ce script, un projet doit être ouvert.");
        }
        if (safeToRunScript) {
        debugger;
            //vérifie la file d'attente de rendu pour s'assurer qu'elle contient au moins un élément
            safeToRunScript = false;
            for (i = 1; i <= app.project.renderQueue.numItems; ++i) {
                if (app.project.renderQueue.item(i).status ==
                RQItemStatus.QUEUED) {
                    safeToRunScript = true;
                    break;
                }
            }
            if (! safeToRunScript) {
                alert ("Aucun élément n'est prêt pour le rendu.");
            }
        }

    Le script vérifie dans un deuxième temps si les paramètres de courrier électronique sont déjà sauvegardés dans les Préférences. Si c'est le cas, aucun message n'apparaît. Si ce n'est pas le cas, le script email_setup.jsx est exécuté. L'utilisateur doit alors indiquer la passerelle de messagerie, les adresses de l'expéditeur et du destinataire. Si vous devez modifier certains des paramètres sauvegardés, vous pouvez toujours exécuter email_setup.jsx pour créer de nouveaux paramètres en remplacement de ceux existant.

        if (safeToRunScript) {
           
            var settings = app.settings;
            if ( !settings.haveSetting("Paramètres de courrier électronique", "Serveur de messagerie") ||
                !settings.haveSetting("Paramètres de courrier électronique", "Adresse de réponse") ||
                !settings.haveSetting("Paramètres de courrier électronique", "Rapport de rendu -
                    Destinataire")){
       
                // les paramètres ne sont pas encore disponibles, exécutez email_setup.jsx
                // pour les demander
                var email_setupfile = new File("email_setup.jsx");
                email_setupfile.open("r");   
                eval( email_setupfile.read() );
                email_setupfile.close();
            }
       
            var myQueue = app.project.renderQueue //crée un raccourci pour la file d'attente de rendu
           

    Le rendu peut à présent être effectué. Une fois le rendu terminé, le script crée une chaîne de texte pour le message électronique. Elle contient l'heure de début du rendu, l'heure du rendu de chaque élément de la file d'attente et la durée totale du rendu.

            myQueue.render();
               
            var projectName = "Projet non sauvegardé";
            if (app.project.file) {
                projectName = app.project.file.name;
            }
            var myMessage = "Le rendu de " + nom du projet+ " est terminé.\n\n";
           

    Envoyez le message, en utilisant les trois paramètres du script email_methods.jsx script exécuté automatiquement plus haut pour demander à l'utilisateur d'indiquer le serveur.

            if ( !settings.haveSetting("Paramètres de courrier électronique", "Serveur de messagerie") ||
                !settings.haveSetting("Paramètres de courrier électronique", "Adresse de réponse") ||
                !settings.haveSetting("Paramètres de courrier électronique", "Rapport de rendu -
                    Destinataire")){
                alert("Impossible d'envoyer un courrier électronique, les paramètres requis sont absents.
                Abandon de l'opération.");
            } else {
                // Chargement du code contenu dans un fichier à l'aide de méthodes de courrier électronique pratiques :
                var emailCodeFile = new File("email_methods.jsx");
                emailCodeFile.open("r");   
                eval( emailCodeFile.read() );
                emailCodeFile.close();

    Enfin, une erreur est émise si, pour une raison quelconque, le message ne peut pas être envoyé.

                var serverSetting = settings.getSetting("Paramètres de courrier électronique", "Serveur de messagerie
                ");
                var fromSetting = settings.getSetting("Paramètres de courrier électronique", "Adresse de réponse
                ");
                var toSetting = settings.getSetting("Email Settings", "Rapport de rendu-
                Destinataire");
                var myMail = new EmailSocket(serverSetting);
                if (! myMail.send (fromSetting, toSetting, "Rendu AE terminé",                 myMessage) ) {
                    alert("Echec de l'envoi du message");
                }
            }
        }
    }